//
//  jxsTask.h
//  ToDoList
//
// This code file is apart of project "iPhone-ToDo-List" 
// (http://code.google.com/p/iphone-todo-list/)
//
// Copyright (c) 2009 Frank Villasenor
//
// Distributed under the terms of the Lesser GNU General Public License.
// A copy of the license should be with these files. If not, you 
// can retrieve a copy from http://www.gnu.org/licenses/lgpl-3.0.txt
// 

#import <Foundation/Foundation.h>

//
// For implmenting the NSCoding Protocol.
#define kTitleKey		@"TaskTitle"
#define kDueDateKey		@"TaskDueDate"
#define kIsCompleteKey	@"TaskIsComplete"
#define kNotesKey		@"TaskNotes"
#define kSubTasks		@"SubTasks"


@interface tosuTask : NSObject
	<NSCoding, NSCopying>
{
	//
	// We are starting with very basic properties.
	NSString *title;
	NSDate *dueDate;
	BOOL isComplete;
	NSString *notes;
	
	NSMutableArray *subTasks;
}


@property (retain) NSString *title;
@property (retain) NSDate *dueDate;
@property BOOL isComplete;
@property (retain) NSString *notes;
@property (retain) NSMutableArray *subTasks;

- (tosuTask *)initWithTaskTitle:(NSString *)pTitle DueDate:(NSDate *)pDueDate 
					IsComplete:(BOOL)pIsComplete Notes:(NSString *)pNotes;

- (tosuTask *)initWithTaskTitle:(NSString *)pTitle DueDate:(NSDate *)pDueDate 
	IsComplete:(BOOL)pIsComplete Notes:(NSString *)pNotes 
	subTasksArray:(NSMutableArray *)pSubTasks;

@end
